package com.jtny.nytb.config.varible.service;

import com.jtny.component.entity.PageData;
import com.jtny.nytb.config.varible.dto.ConfigGlobalManagementDTO;
import com.jtny.nytb.config.varible.vo.ConfigGlobalManagementFormVO;
import com.jtny.nytb.config.varible.vo.ConfigGlobalManagementQueryVO;
import com.jtny.nytb.config.varible.vo.ConfigGlobalManagementVO;

import java.util.List;

/**
 * 全局变量管理Biz类
 *
 * @author 智慧能源中心 - xionghaixu
 * @package com.jtny.nytb.config.generic.variable.biz
 * @fileName ConfigGlobalManagementBiz.java
 * @createTime 2023年09月05日 15:10
 * @Copyright© 2023 jtny
 * 江投能源技术研究院 版权所有
 */
public interface ConfigGlobalManagementBiz {

    /**
     * 分页查询 全局变量管理
     *
     * @param configGlobalManagementQueryVO 查询条件
     * @return {@link PageData}<{@link ConfigGlobalManagementVO}>
     */
    PageData<ConfigGlobalManagementVO> queryPage(ConfigGlobalManagementQueryVO configGlobalManagementQueryVO);

    /**
     * 保存 全局变量
     *
     * @param configGlobalManagementFormVO 全局变量表单数据
     */
    void save(ConfigGlobalManagementFormVO configGlobalManagementFormVO);

    /**
     * 更新 全局变量
     *
     * @param configGlobalManagementFormVO 全局变量表单数据
     */
    void update(ConfigGlobalManagementFormVO configGlobalManagementFormVO);

    /**
     * 依据id获取详情全局变量
     *
     * @param id 主键ID
     * @return {@link ConfigGlobalManagementVO}
     */
    ConfigGlobalManagementVO detail(Long id);

    /**
     * 依据id删除全局变量
     *
     * @param id 注解ID
     */
    void deleteById(Long id);

    /**
     * 批量保存
     *
     * @param configGlobalManagementList 全局变量列表
     * @return {@code true} 成功 {@code false} 失败
     */
    Boolean saveBatch(List<ConfigGlobalManagementDTO> configGlobalManagementList);
}
